class LoginExpiredManager {
    constructor() {
        this.isShowing = false
    }

    // 显示登录失效提示
    show() {
        // 防止重复显示
        if (this.isShowing) {
            return
        }

        this.isShowing = true

        // 调用全局的弹窗显示方法
        if (window.showLoginExpiredModal && typeof window.showLoginExpiredModal === 'function') {
            console.log('调用全局登录失效弹窗')
            window.showLoginExpiredModal()
        } else {
            // 如果全局方法不可用，回退到简单的确认对话框
            console.log('全局弹窗方法不可用，使用确认对话框')
            const confirmed = confirm('您的登录状态已过期，请重新登录')
            
            if (confirmed) {
                // 清除存储并跳转
                try {
                    localStorage.removeItem('token')
                    localStorage.removeItem('studentInfo')
                    window.location.href = '/login'
                } catch (error) {
                    console.error('清除存储失败:', error)
                    window.location.href = '/login'
                }
            }
        }

        // 重置状态
        setTimeout(() => {
            this.isShowing = false
        }, 1000)
    }

    // 兼容原有的hide方法
    hide() {
        this.isShowing = false
    }
}

// 创建单例实例
const loginExpiredManager = new LoginExpiredManager()

export default loginExpiredManager
